#include "hashtable.h"

int main() {
    HashTable * h = new HashTable();
    for (int i = 0; i < 10; i ++) {//重复单词测试通过
        h->insert("test");
        /*if (i != 0 && a != 2) {
            break;
        }*/
    }
    // h->insert("TEST");//大写+重复测试通过
    // h->insert("the");//不同单词插入通过
    // h->insert("3d");//非单词过滤通过
    // h->insert("GYG");//大写转小写通过
    // h->insert("eht");//冲突处理通过
    // h->insert("eht");//冲突处理通过
    // h->insert("het");//冲突处理通过
    // h->insert("het");//冲突+重复通过
    // h->insert("");//空字符排除通过
    // string s="Yhc";
    // string t="";
    // Node *new_node=new Node(s);
    // h->insert(*new_node);//insert Node通过
    // h->insert(*new_node);//同节点过滤通过
    // Node *empty_node=new Node(t);
    // h->insert(*empty_node);//空节点插入过滤通过
    // Node *new_node1=new Node(s.c_str());//node(char*)构造函数通过
    // Node *new_node2=new Node(s);//node(string)构造函数通过
    // cout<<(*new_node2==*new_node1)<<endl;//node==node重载通过
    // cout<<(*new_node2!=*new_node1)<<endl;//node!=node重载通过
    // cout<<(*new_node2==s)<<endl;//node==string重载通过
    // cout<<(*new_node2!=s)<<endl;//node!=string重载通过
    // cout<<(*new_node2==s.c_str())<<endl;//node==char*重载通过
    // cout<<(*new_node2!=s.c_str())<<endl;//node!=char*重载通过
    // cout<<(*new_node1)[0]<<(*new_node1)[1]<<(*new_node1)[2]<<endl;//[]重载通过
    // cout<<(*new_node1).length()<<endl;//length()函数通过
    // cout<<(*new_node1).second()<<endl;//second()函数通过
   
    for (int i = 0; i < h->get_size(); i++) {
        if (h->get_pair(i)->first.compare("#")) {
            std::cout<<"[" << h->get_pair(i)->first << "]:[" << h->get_pair(i)->second << "]\n";
        }
    }
    delete h;
    h=NULL;
    return 0;
}
